package main

import (
	"gee"
	"net/http"
)

/**
go中引用自己写的模块，如果子package（某个功能模块或者说库）存在gomod文件，其他需要引用该模块时
除了要用go mod init xxx和go mod tidy 之外还需手动对其go.mod进行编辑
- 添加require信息时添加要引用的模块名和其版本号 ，版本号可以自定义
- 添加replace信息是为了指明要引用的模块相对于当前模块go.mod的路径，以便能找到要引用的模块
*/

func main() {
	r := gee.New()
	r.GET("/", func(c *gee.Context) {
		c.HTML(http.StatusOK, "<h1>Hello Gee</h1>")
	})

	r.GET("/hello", func(c *gee.Context) {
		// expect /hello?name=geektutu
		c.String(http.StatusOK, "hello %s, you're at %s\n", c.Query("name"), c.Path)
	})

	r.GET("/hello/:name", func(c *gee.Context) {
		// expect /hello/geektutu
		c.String(http.StatusOK, "hello %s, you're at %s\n", c.Param("name"), c.Path)
	})

	r.GET("/assets/*filepath", func(c *gee.Context) {
		c.JSON(http.StatusOK, gee.H{"filepath": c.Param("filepath")})
	})

	r.Run(":9999")
}
